package com.onpositive.knowledge.model.impl;

import com.onpositive.knowledge.model.value.audits.GeneralAuditResult;
import com.onpositive.knowledge.model.values.AuditedProperty;
import com.onpositive.knowledge.model.values.IHasGeneralAuditResult;
import com.onpositive.semantic.model.api.property.IProperty;
import com.onpositive.semantic.model.api.property.IPropertyConstructor;
import com.onpositive.semantic.model.api.property.IPropertyProvider;
import com.onpositive.semantic.model.api.property.TransformingPropertyProvider;

public class UniversePropertyProvider extends TransformingPropertyProvider
		implements IHasGeneralAuditResult, IPropertyConstructor {

	private GeneralAuditResult result;
	
	
	@Override
	protected IPropertyConstructor getConstructor() {
		return this;
	}

	public UniversePropertyProvider(IPropertyProvider provider) {
		super(null, provider,null);
	}

	@Override
	public GeneralAuditResult getAuditResult() {
		return result;
	}

	@Override
	public IProperty create(IProperty base, Object object) {
		return new AuditedProperty(this, base);
	}
}
